Electronic device for facilitating user interactions

ABSTRACT

An electronic device includes a display, a timer and computing hardware configured to execute a software product. Execution of the software product results in generating and rendering a graphical user interface on the display with four or more user-selectable graphical objects. Selection of a first user-selectable graphical object at a first spatial position on the graphical user interface and a movement of the selected first user-selectable graphical object along a path towards a second user-selectable graphical object at a second spatial position is detected and a position of the first user-selectable graphical object is exchanged with the position of the second user-selectable graphical object. If, during a predetermined time period, a selection of a third user-selectable graphical object and a movement of the third user-selectable graphical object towards a fourth user-selectable graphical object is detected, the positions of the third and fourth objects is exchanged.

TECHNICAL FIELD

The present disclosure relates generally to gaming systems, and morespecifically, to electronic devices for facilitating interactions with agraphical user interface. Moreover, the present disclosure relates tomethods of facilitating interactions with a graphical user interface.Moreover, the present disclosure also concerns methods of playing a gameexecuted on a computing device. Furthermore, the present disclosure alsorelates to software products recorded on non-transitory machine-readabledata storage media, the software products being executable on computinghardware of a computing device, for implementing the aforementionedmethods.

BACKGROUND

Today, various electronic devices have been developed to provideuser-friendly interfaces for facilitating easy and quick userinteraction. Examples of such electronic devices include, but are notlimited to, smart phones, Mobile Internet Devices (MIDs), phabletcomputers, tablet computers, Ultra-Mobile Personal Computers (UMPCs),Personal Digital Assistants (PDAs), web pads, handheld PersonalComputers (PCs), laptop computers, interactive entertainment computers,and gaming terminals. Most of these electronic devices includetouch-sensitive display screens, which make them more user-friendly andeasier to use.

In order to provide entertaining experience to users, various gamingsystems may be implemented on such electronic devices. An importantaspect of a gaming system implemented on an electronic device is howinteresting it is for a user to play a game on the gaming system.

FIGS. 1A, 1B, 10 and 1D collectively are an illustration of examplesteps related to playing a puzzle game with a known conventional userinterface of a conventional gaming system for implementation on anelectronic device; FIGS. 1A-D represent prior art. In the puzzle game, auser's purpose is to organize certain graphical objects, so as to makerows or columns of at least three matching adjacent graphical objects.

FIG. 1A is an illustration of a first step at which the user selects andmoves a graphical object 102 towards another graphical object 104.Consequently, spatial positions of the graphical objects 102 and 104 areexchanged, as shown in FIG. 1B.

As a result, three adjacent graphical objects match with each other, asindicated with a horizontal row 106. For sake of clarity, the horizontalrow 106 is indicated with a box in FIG. 1B.

FIG. 1C is an illustration of a step at which the horizontal row 106disappears, thereby leaving an empty space 108.

FIG. 1D is an illustration of a next step at which graphical objectsabove the horizontal row 106 drop down to fill the empty space 108, anda set 110 of three new random graphical objects appears to fill thepuzzle.

As a result of dropping down of the graphical objects, a new horizontalrow 112 of three matching adjacent graphical objects is formed. For sakeof clarity, the horizontal row 112 is indicated with a box in FIG. 1D.

At a subsequent step, the horizontal row 112 will disappear and will bereplaced.

A problem with the above puzzle game is that the user can make only onemove of his choice before the matching adjacent graphical objectsdisappear. This potentially makes the puzzle game less interesting tothe user.

SUMMARY

The present disclosure seeks to provide an electronic device.

The present disclosure also seeks to provide a method of facilitatinginteractions with a graphical user interface.

A further aim of the present disclosure is to at least partiallyovercome at least some of the problems of the prior art, as discussedabove.

In one aspect, embodiments of the present disclosure provide anelectronic device. The electronic device comprises a display screen anda computing hardware. The computing hardware is operable to execute asoftware product, wherein executing the software product results ingenerating and rendering a graphical user interface on the displayscreen. The graphical user interface is configured to facilitate userinteraction. When rendered, the graphical user interface presents fouror more user-selectable graphical objects.

Selecting a first graphical object displayed at a first spatial positionon the graphical user interface and moving the first graphical objecttowards a second graphical object displayed at a second spatial positionon the graphical user interface is configured to result in changing thespatial position of the first graphical object from the first spatialposition to the second spatial position and changing the spatialposition of the second graphical object from the second spatial positionto the first spatial position.

The change of the spatial position of the first and second graphicalobjects is configured to trigger starting a timer and enabling, during atime set by the timer, selecting at least a third graphical objectdisplayed at a third spatial position on the graphical user interfaceand moving the third graphical object towards a fourth graphical objectdisplayed at a fourth spatial position on the graphical user interface.The moving the third graphical object towards the fourth graphicalobject is configured to result in changing the spatial position of thethird graphical object from the third spatial position to the fourthspatial position and changing the spatial position of the fourthgraphical object from the fourth spatial position to the third spatialposition.

In another aspect, embodiments of the present disclosure provide amethod of playing a game executed on a computing device, the methodcomprising:

presenting four or more user-selectable graphical objects on a graphicaluser interface of the computing device;

detecting a selection of a first graphical object displayed at a firstspatial position on the graphical user interface;

upon detecting a movement of the first graphical object towards a secondgraphical object displayed at a second spatial position on the graphicaluser interface, exchanging the spatial positions of the first and secondgraphical objects;

using the exchange of the spatial positions of the first and secondgraphical objects to start a timer, and during a time set by the timer:

enabling a selection of at least a third graphical object displayed at athird spatial position on the graphical user interface; and

upon detecting a movement of the third graphical object towards a fourthgraphical object displayed at a fourth spatial position on the graphicaluser interface, exchanging the spatial positions of the third and fourthgraphical objects.

In yet another aspect, embodiments of the present disclosure provide amethod of facilitating interactions with a graphical user interface, thegraphical user interface being generated and rendered on a display areaof an electronic device by executing a software product on a computinghardware of the electronic device, the method comprising:

presenting four or more user-selectable graphical objects within thedisplay area;

detecting a selection of a first graphical object displayed at a firstspatial position within the display area;

upon detecting a movement of the first graphical object towards a secondgraphical object displayed at a second spatial position within thedisplay area, exchanging the spatial positions of the first and secondgraphical objects;

using the exchange of the spatial positions of the first and secondgraphical objects to start a timer, and during a time set by the timer:

enabling a selection of at least a third graphical object displayed at athird spatial position within the display area; and

upon detecting a movement of the third graphical object towards a fourthgraphical object displayed at a fourth spatial position within thedisplay area, exchanging the spatial positions of the third and fourthgraphical objects.

In still another aspect, embodiments of the present disclosure provide asoftware product recorded on a non-transitory machine-readable datastorage medium, the software product being executable on a computinghardware of a computing device, for implementing the aforementionedmethod of facilitating interactions with the graphical user interface.

In one specific aspect, embodiments of the present disclosure provide anelectronic device comprising:

a display screen; and

a computing hardware which is operable to execute a software product,wherein executing the software product results in generating andrendering a graphical user interface on the display screen presenting agame area and a puzzle area,

the puzzle area presenting four or more user-selectable graphicalobjects,

wherein selecting a first graphical object at a first spatial positionin the puzzle area and moving the first graphical object towards asecond graphical object at a second spatial position in the puzzle areais configured to result in changing the spatial position of the firstgraphical object from the first spatial position to the second spatialposition and changing the spatial position of the second graphicalobject from the second spatial position to the first spatial position,

wherein the change of the spatial position of the first and secondgraphical objects is configured to trigger starting a timer and enablingselecting, during a time set by the timer, at least a third graphicalobject at a third spatial position in the puzzle area and moving thethird graphical object towards a fourth graphical object at a fourthspatial position in the puzzle area, which moving is configured toresult in changing the spatial position of the third graphical objectfrom the third spatial position to the fourth spatial position andchanging the spatial position of the fourth graphical object from thefourth spatial position to the third spatial position,

wherein the graphical user interface is configured to update a pointcounter when at least three adjacent graphical objects match and toreplace the at least three matching adjacent graphical objects,

the game area presenting at least one defending element and at least oneopposing element advancing toward the at least one defending element,

wherein points from the point counter are applied to the at least onedefending element and a certain number of points allows the at least onedefending element to impede progress of the at least one opposingelement toward the at least one defending element.

Additional aspects, advantages, features and objects of the presentdisclosure would be made apparent from the drawings and the detaileddescription of the illustrative embodiments construed in conjunctionwith the appended claims that follow.

It will be appreciated that features of the present disclosure aresusceptible to being combined in various combinations without departingfrom the scope of the present disclosure as defined by the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The summary above, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating the presentdisclosure, exemplary constructions of the disclosure are shown in thedrawings. However, the present disclosure is not limited to specificmethods and instrumentalities disclosed herein. Moreover, those in theart will understand that the drawings are not to scale. Whereverpossible, like elements have been indicated by identical numbers.

Embodiments of the present disclosure will now be described, by way ofexample only, with reference to the following diagrams wherein:

FIGS. 1A-D collectively are an illustration of example steps related toplaying a puzzle game with a known conventional user interface of aconventional gaming system for implementation on an electronic device;

FIG. 2 is a schematic illustration of an example network environmentthat is suitable for practicing embodiments of the present disclosure;

FIG. 3 is a schematic illustration of various components of anelectronic device, in accordance with an embodiment of the presentdisclosure;

FIG. 4 is an illustration of an example game view of a gaming system, inaccordance with an embodiment of the present disclosure;

FIGS. 5A-D collectively are an illustration of example steps related toplaying a game within a puzzle area, in accordance with an embodiment ofthe present disclosure;

FIGS. 6A-B collectively are an illustration of an example game view, inaccordance with an embodiment of the present disclosure;

FIG. 7 is an illustration of another example game view, in accordancewith an embodiment of the present disclosure;

FIG. 8 is an illustration of yet another example game view, inaccordance with an embodiment of the present disclosure; and

FIG. 9 is an illustration of steps of a method of facilitatinginteractions with a graphical user interface, in accordance with anembodiment of the present disclosure.

In the accompanying drawings, an underlined number is employed torepresent an item over which the underlined number is positioned or anitem to which the underlined number is adjacent. A non-underlined numberrelates to an item identified by a line linking the non-underlinednumber to the item. When a number is non-underlined and accompanied byan associated arrow, the non-underlined number is used to identify ageneral item at which the arrow is pointing.

DETAILED DESCRIPTION

The following detailed description illustrates embodiments of thepresent disclosure and ways in which they can be implemented. Althoughsome modes of carrying out the present disclosure has been disclosed,those skilled in the art would recognize that other embodiments forcarrying out or practicing the present disclosure are also possible.

In one aspect, embodiments of the present disclosure provide anelectronic device. The electronic device comprises a display screen anda computing hardware. The computing hardware is operable to execute asoftware product, wherein executing the software product results ingenerating and rendering a graphical user interface on the displayscreen. The graphical user interface is configured to facilitate userinteraction. When rendered, the graphical user interface presents fouror more user-selectable graphical objects.

Selecting a first graphical object displayed at a first spatial positionon the graphical user interface and moving the first graphical objecttowards a second graphical object displayed at a second spatial positionon the graphical user interface is configured to result in changing thespatial position of the first graphical object from the first spatialposition to the second spatial position and changing the spatialposition of the second graphical object from the second spatial positionto the first spatial position.

The change of the spatial position of the first and second graphicalobjects is configured to trigger starting a timer and enabling, during atime set by the timer, selecting at least a third graphical objectdisplayed at a third spatial position on the graphical user interfaceand moving the third graphical object towards a fourth graphical objectdisplayed at a fourth spatial position on the graphical user interface.The moving of the third graphical object towards the fourth graphicalobject is configured to result in changing the spatial position of thethird graphical object from the third spatial position to the fourthspatial position and changing the spatial position of the fourthgraphical object from the fourth spatial position to the third spatialposition.

In some examples, the graphical objects are represented by differentshapes and/or different colors. In other examples, the graphical objectsare represented by different symbols, for example, such as differentalphabets.

Optionally, the timer is a count-down timer. The timer can be set to anyarbitrary time. Optionally, the timer can be set to a time rangingbetween 0.1 and 1 seconds; more optionally to a time ranging between 0.5and 10 seconds, or, to a time ranging between 1 to 6 seconds, or between1 to 4 seconds, or between 2 to 3 seconds.

Moreover, optionally, the graphical user interface is configured toupdate a point counter when at least three adjacent graphical objectsmatch and to replace the at least three matching adjacent graphicalobjects.

Optionally, a number of points to be added to the point counter dependon a number of matching adjacent graphical objects that are replaced ina single move. In one example, three points may be added when threeadjacent graphical objects match in a vertical column or a horizontalrow.

Additionally, optionally, more points are awarded when more than one rowor column of matching adjacent graphical objects are replaced in a samemove.

Moreover, optionally, points are calculated progressively. In anexample, the first three matching adjacent graphical objects maygenerate three points, while the next three matching adjacent graphicalobjects may generate six points. In another example, four matchingadjacent graphical objects may generate 10 points, while five matchingadjacent graphical objects may generate 20 points.

Optionally, points from the point counter are applied to at least onedefending element of a related game. Optionally, the related gamecomprises the at least one defending element and at least one opposingelement advancing toward the at least one defending element.

Optionally, the at least one defending element to which the points areapplied is determined based on a location or a type of the at leastthree matching adjacent graphical objects.

Optionally, when applied to a particular defending element, the pointsare used to upgrade a health or stamina of that particular defendingelement or to charge energy to a weapon belonging to that particulardefending element to be used against an opposing element. Optionally, inthis regard, a graphical representation of the particular defendingelement can provide information about at least one of: a health of thatparticular defending element, a stamina of that particular defendingelement, and/or an energy level of a weapon to be used to attack arespective opposing element. The health of the particular defendingelement can be indicated with a health bar or with symbols, such ashearts and numbers.

Optionally, a certain number of points allows the at least one defendingelement to impede progress of the at least one opposing element towardthe at least one defending element. Optionally, in this regard, theprogress of the at least one opposing element is impeded by displaying arepresentation of the at least one defending element shooting energy atthe at least one opposing element.

Moreover, the electronic device includes a user interface that isconfigured to detect an input corresponding to selection and movement ofthe first and third graphical objects toward the second and fourthgraphical objects, respectively.

In an embodiment, the display screen is a touch screen. In thisembodiment, the touch screen provides the user interface. Optionally, inthis regard, the first and third graphical objects are selected andmoved toward the second and fourth graphical objects, respectively, by aswiping action on the display screen.

In an additional or alternative embodiment, the user interface isprovided by a mouse. Optionally, in this regard, the first and thirdgraphical objects are selected and moved toward the second and fourthgraphical objects, respectively, by a drag-and-drop action performed bythe mouse.

Examples of the electronic device include, but are not limited to, amobile phone, a smart telephone, a Mobile Internet Device (MID), atablet computer, an Ultra-Mobile Personal Computer (UMPC), a phabletcomputer, a Personal Digital Assistant (PDA), a web pad, a PersonalComputer (PC), a handheld PC, a laptop computer, a desktop computer, aNetwork-Attached Storage (NAS) device, a large-sized touch screen withan embedded PC, and an interactive entertainment device, such as a gameconsole. Some specific examples of the electronic device include, butare not limited to, iPhone™, iPad™, Android™ phone, Android™ web pad,Windows™ phone, and Windows™ web pad (these names include registeredtrademarks).

Furthermore, an example of the electronic device has been provided inconjunction with FIG. 3. The electronic device includes, but is notlimited to, a memory, a computing hardware such as a processor, adisplay screen, other Input/Output (I/O) devices, a communicationinterface, and a power source.

The power source supplies electrical power to various components of theelectronic device. The power source may, for example, include arechargeable battery.

The memory optionally includes non-removable memory, removable memory,or a combination thereof. The non-removable memory, for example,includes Random-Access Memory (RAM), Read-Only Memory (ROM), flashmemory, or a hard drive. The removable memory, for example, includesflash memory cards, memory sticks, or smart cards.

The memory stores a software product, while the processor is operable toexecute the software product. Executing the software product on theprocessor results in generating and rendering a graphical user interfaceon the display screen.

The I/O devices facilitate a user interface, which is optionallyconfigured to detect an input corresponding to moving a pointer object,clicking or tapping the pointer object, or swiping a touch-sensitiveobject over the graphical user interface.

In an embodiment, the display screen is a touch-sensitive display screenthat is operable to provide the user interface. The touch-sensitivedisplay screen is operable to receive tactile inputs from a user. Thesetactile inputs may, for example, include clicking, tapping, pointing,moving, pressing and/or swiping with a finger or a touch-sensitiveobject like a pen.

Optionally, the touch-sensitive display screen is configured to sense apressure applied by the finger or the touch-sensitive object. In oneexample, the touch-sensitive display screen may be a capacitive touchscreen that is operable to detect changes in capacitance. In anotherexample, the touch-sensitive display screen may be a resistive touchscreen that is operable to detect changes in resistance. In yet anotherexample, the touch-sensitive display screen is an optical touch screenthat is operable to detect changes in reflectivity.

Upon detecting the tactile inputs, the software product, when executedon the processor, is configured to identify a gesture related to thetactile inputs. The gesture may take into account at least one of: aforce applied by the user, a pressure applied by the user, a speed withwhich the pointer object was moved, a duration for which the gesture wasapplied, and/or a position on the touch-sensitive display screen wherethe gesture was applied. Consequently, the software product, whenexecuted on the processor, is configured to analyse the gesture, and toapply an appropriate action corresponding to the gesture.

Additionally or alternatively, optionally, the I/O devices include amouse, a keyboard or a joystick that is operable to receive inputscorresponding to clicking, pointing, and/or moving a pointer object onthe graphical user interface.

Moreover, optionally, the I/O devices also include a speaker forproviding an audio output to the user, and a microphone for receiving anaudio input from the user.

Moreover, optionally, the electronic device includes non-transient datastorage arrangements, for example, such as a database. The softwareproduct, when executed on the processor, is optionally coupled to thedatabase. The software product, when executed on the processor, isoptionally configured to substantially continuously record and updatechanges in status of a game being played by the user in the database.The software product, when executed on the processor, is optionallyconfigured to resume the status of the game to its last updated statusin the database, in case of interruptions in an operable state of thegraphical user interface.

Additionally, the software product, when executed on the processor, maystore game-related information in the database. The game-relatedinformation may, for example, include at least one of: an account of theuser, credits of the user, scores of the user, the status of the game,screen-shots of the game, game-related parameters, a game view beingused by the user, a game level at which the user is playing, a versionof the game, and/or associated time-stamps.

Moreover, optionally, the communication interface allows the electronicdevice to upload the game-related information to a remote server, forexample, via a communication network. Additionally, optionally, thecommunication interface allows the electronic device to access theremote server to download one or more new games or update one or moreexisting games.

Moreover, optionally, the communication interface allows the electronicdevice to communicate with other electronic devices.

Furthermore, embodiments of the present disclosure also provide anetwork environment, which includes a server, a database associated withthe server, and one or more electronic devices coupled in communicationwith the server via a communication network. An example of such anetwork environment has been provided in conjunction with FIG. 2.

The network environment can be implemented in various ways, depending onvarious possible scenarios. In one example scenario, the networkenvironment can be implemented by way of a spatially collocatedarrangement of the server and the database. In another example scenario,the network environment can be implemented by way of a spatiallydistributed arrangement of the server and the database coupled mutuallyin communication via the communication network. In yet another examplescenario, the server and the database can be implemented via cloudcomputing services.

The communication network can be a collection of individual networks,interconnected with each other and functioning as a single largenetwork. Such individual networks may be wired, wireless, or acombination thereof. Examples of such individual networks include, butare not limited to, Local Area Networks (LANs), Wide Area Networks(WANs), Metropolitan Area Networks (MANs), Wireless LANs (WLANs),Wireless WANs (WWANs), Wireless MANs (WMANs), the Internet, secondgeneration (2G) telecommunication networks, third generation (3G)telecommunication networks, fourth generation (4G) telecommunicationnetworks, and Worldwide Interoperability for Microwave Access (WiMAX)networks.

Additionally or alternatively, the electronic devices may use their own“Bluetooth” network, and connect to a “Bluetooth” server, to synchronizewith other electronic devices. (“Bluetooth” is a registered trademark).

The network environment is suitable for operating various gamingsystems, simulation systems, or other similar systems. In an embodimentof the present disclosure, the network environment is suitable foroperating an online gaming system.

In one embodiment, the network environment is used to implement athin-client game. Accordingly, the gaming system may be arranged in amanner that its functionality is implemented partly in the electronicdevices and partly in the server.

In another embodiment, the network environment is used to implement athick-client game. According, the gaming system may be arranged in amanner that its functionality is implemented substantially in theelectronic devices.

In yet another embodiment, the network environment is used to implementa web-based game. Accordingly, the gaming system may be arranged in amanner that its functionality is implemented substantially in theserver.

The electronic devices may access the server to download one or more newgames or update one or more existing games.

Users associated with the electronic devices play one or more gamesprovided by the gaming system. The gaming system may enable the users tointeract and/or share some information with each other.

Additionally, the gaming system may enable some or all of the users toplay a game mutually, for example, against each other or as a team.Alternatively, the gaming system may enable the users to play theirindividual games irrespective of each other.

For illustration purposes, there will now be considered an example wherea first user is associated with a first electronic device, a second useris associated with a second electronic device, and a third user isassociated with a third electronic device. Herein, let us also consideran example situation where the gaming system enables the first andsecond users to play a game mutually, for example, against each other.Accordingly, graphical user interfaces are generated temporallyconcurrently on display screens of the first and second electronicdevices, to facilitate interactions of the first and second users withtheir graphical user interfaces, respectively. In the example situation,the server coordinates and synchronizes the graphical user interfacesgenerated on the first and second electronic devices, and updates thegraphical user interfaces on the first and second electronic devicesconcurrently with time.

Now, let us consider another example situation where the gaming systemenables the third user to play a game solitarily. In such a situation,the third electronic device need not be coupled to the serversubstantially continuously, for example, during playing of the game. Thethird electronic device may be coupled to the server, for example, whendownloading the game from the server. Additionally, the third electronicdevice may be coupled to the server periodically or randomly, forexample, to receive updates from the server.

Furthermore, the server stores game-related information in the database.The game-related information may, for example, include at least one of:accounts of the users, credits of the users, scores of the users, statusof games being played by the users, screen-shots of the games,game-related parameters, game views being used by the users, game levelsat which the users are playing, versions of the games, and/or associatedtime-stamps.

Beneficially, the electronic devices and/or the server substantiallycontinuously record and update changes in the status of the games beingplayed by the users in the database. The electronic devices areoptionally configured to resume the status of the games to their lastupdated status in the database, in case of interruptions in the operablestate of the graphical user interfaces.

Optionally, the game-related information, including information aboutthe changes in the status of the games, may be sent to the server in aform of data packages. A data package may typically include a header, apayload and a checksum. The checksum can be a function of the payload.Alternatively, the checksum can be a unique identifier of the user, suchas a username being used by the user. Those skilled in the art willunderstand that an appropriate checksum function or a checksum algorithmmay be applied to a plurality of data packages to obtain the checksum,while the game is being played.

In order to avoid possible frauds, the checksum corresponding to aparticular data package can be recomputed at any point of time, andcompared with the checksum stored with that particular data package.Thus, including the checksum in the data package potentially reducesoccurrences of frauds in the game.

In another aspect, embodiments of the present disclosure provide amethod of playing a game executed on a computing device, the methodcomprising:

presenting four or more user-selectable graphical objects on a graphicaluser interface of the computing device;

detecting a selection of a first graphical object displayed at a firstspatial position on the graphical user interface;

upon detecting a movement of the first graphical object towards a secondgraphical object displayed at a second spatial position on the graphicaluser interface, exchanging the spatial positions of the first and secondgraphical objects;

using the exchange of the spatial positions of the first and secondgraphical objects to start a timer, and during a time set by the timer:

enabling a selection of at least a third graphical object displayed at athird spatial position on the graphical user interface; and

upon detecting a movement of the third graphical object towards a fourthgraphical object displayed at a fourth spatial position on the graphicaluser interface, exchanging the spatial positions of the third and fourthgraphical objects.

According to an embodiment, the graphical user interface is rendered ona touch screen of the computing device. Optionally, in this regard, theselection of the first and third graphical objects and the movementtoward the second and fourth graphical objects, respectively, isdetected by recognizing a swiping action on the touch screen.

According to an embodiment, the method comprises updating a pointcounter when at least three adjacent graphical objects match andreplacing the at least three matching adjacent graphical objects.

According to an embodiment, the method comprises applying points fromthe point counter to at least one defending element of a related game.Optionally, the related game comprises the at least one defendingelement and at least one opposing element advancing toward the at leastone defending element.

According to an embodiment, the method comprises determining the atleast one defending element to which the points are applied, based on alocation or a type of the at least three matching adjacent graphicalobjects.

According to an embodiment, the method comprises impeding progress ofthe at least one opposing element toward the at least one defendingelement based on a certain number of points applied to the at least onedefending element.

According to an embodiment, the method comprises impeding the progressof the at least one opposing element by displaying a representation ofthe at least one defending element shooting energy at the at least oneopposing element.

In yet another aspect, embodiments of the present disclosure provide amethod of facilitating interactions with a graphical user interface, thegraphical user interface being generated and rendered on a display areaof an electronic device by executing a software product on a computinghardware of the electronic device, the method comprising:

presenting four or more user-selectable graphical objects within thedisplay area;

detecting a selection of a first graphical object displayed at a firstspatial position within the display area;

upon detecting a movement of the first graphical object towards a secondgraphical object displayed at a second spatial position within thedisplay area, exchanging the spatial positions of the first and secondgraphical objects;

using the exchange of the spatial positions of the first and secondgraphical objects to start a timer, and during a time set by the timer:

enabling a selection of at least a third graphical object displayed at athird spatial position within the display area; and

upon detecting a movement of the third graphical object towards a fourthgraphical object displayed at a fourth spatial position within thedisplay area, exchanging the spatial positions of the third and fourthgraphical objects.

According to an embodiment, the method comprises updating a pointcounter when at least three adjacent graphical objects match andreplacing the at least three matching adjacent graphical objects.

According to an embodiment, the method comprises applying points fromthe point counter to at least one defending element of a related game.Optionally, the related game comprises the at least one defendingelement and at least one opposing element advancing toward the at leastone defending element.

According to an embodiment, the method comprises determining the atleast one defending element to which the points are applied, based on alocation or a type of the at least three matching adjacent graphicalobjects.

According to an embodiment, the method comprises impeding progress ofthe at least one opposing element toward the at least one defendingelement based on a certain number of points applied to the at least onedefending element.

According to an embodiment, the method comprises impeding the progressof the at least one opposing element by displaying a representation ofthe at least one defending element shooting energy at the at least oneopposing element.

An example of steps of the aforementioned methods has been provided inconjunction with FIGS. 5A-D and 9.

In still another aspect, embodiments of the present disclosure provide asoftware product recorded on a non-transitory machine-readable datastorage medium, the software product being executable on a computinghardware of a computing device, for implementing the aforementionedmethod of facilitating interactions with the graphical user interface.Optionally, the software product is downloadable from a softwareapplication store, for example, such as an “App store”, to the computingdevice.

In one specific aspect, embodiments of the present disclosure provide anelectronic device comprising:

a display screen; and

a computing hardware which is operable to execute a software product,wherein executing the software product results in generating andrendering a graphical user interface on the display screen presenting agame area and a puzzle area,

the puzzle area presenting four or more user-selectable graphicalobjects,

wherein selecting a first graphical object at a first spatial positionin the puzzle area and moving the first graphical object towards asecond graphical object at a second spatial position in the puzzle areais configured to result in changing the spatial position of the firstgraphical object from the first spatial position to the second spatialposition and changing the spatial position of the second graphicalobject from the second spatial position to the first spatial position,

wherein the change of the spatial position of the first and secondgraphical objects is configured to trigger starting a timer and enablingselecting, during a time set by the timer, at least a third graphicalobject at a third spatial position in the puzzle area and moving thethird graphical object towards a fourth graphical object at a fourthspatial position in the puzzle area, which moving is configured toresult in changing the spatial position of the third graphical objectfrom the third spatial position to the fourth spatial position andchanging the spatial position of the fourth graphical object from thefourth spatial position to the third spatial position,

wherein the graphical user interface is configured to update a pointcounter when at least three adjacent graphical objects match and toreplace the at least three matching adjacent graphical objects,

the game area presenting at least one defending element and at least oneopposing element advancing toward the at least one defending element,

wherein points from the point counter are applied to the at least onedefending element and a certain number of points allows the at least onedefending element to impede progress of the at least one opposingelement toward the at least one defending element.

An example of the puzzle area and the game area has been provided inconjunction with FIGS. 4 and 6A-B.

Referring now to the drawings, particularly by their reference numbers,FIG. 2 is a schematic illustration of an example network environment 200that is suitable for practicing embodiments of the present disclosure.The network environment 200 includes one or more electronic devices,depicted as an electronic device 202 a, an electronic device 202 b andan electronic device 202 c in FIG. 2 (hereinafter collectively referredto as electronic devices 202). The network environment 200 also includesa server 204 and a database 206 associated with the server 204. Theelectronic devices 202 are coupled in communication with the server 204via a communication network 208. The server 204 may include computerreadable program code 210 stored on at least one computer readablemedium 212 for carrying out and executing the processes and methodsdescribed herein. The computer readable medium 212 may be a memory ofthe server 204. In alternate aspects, the computer readable program code210 may be stored in a memory external to, or remote from, the server204. The memory 212 may include magnetic media, semiconductor media,optical media, or any media which is readable and executable by acomputer. Server 204 may also include a processor 214 for executing thecomputer readable program code 210 stored on the at least one computerreadable medium 212. In at least one aspect, server 204 may include oneor more input or output devices, generally referred to as a userinterface 216, similar to the user interface described herein, which mayoperate to allow input to the server 204 or to provide output from theserver 204. The user interface can include a display device, a touchscreen, buttons, audio input and output, and other suitable input oroutput devices.

FIG. 2 is merely an example, which should not unduly limit the scope ofthe claims herein. It is to be understood that the specific designationfor the network environment 200 is provided as an example and is not tobe construed as limiting the network environment 200 to specificnumbers, types, or arrangements of electronic devices, servers,databases and communication networks. A person skilled in the art willrecognize many variations, alternatives, and modifications ofembodiments of the present disclosure.

FIG. 3 is a schematic illustration of various components of anelectronic device 300, in accordance with an embodiment of the presentdisclosure. The electronic device 300 includes, but is not limited to, amemory 302, a computing hardware 304 such as a processor, a displayscreen 306, a communication interface 308, and a power source 310. Thememory 302 may include a non-transitory machine readable data storagemedium 312 on which a software product 314 is recorded. The softwareproduct 314, when executed by the computing hardware may cause theelectronic device 300 to carry out and execute the processes andtechniques described herein. In at least one embodiment, executing thesoftware product 314 results in generating and rendering a graphicaluser interface 316 on the display screen. The display screen 306includes touch sensitive means for enabling users to interact with therendered graphics. This can include physical touch or contact or neartouch.

FIG. 3 is merely an example, which should not unduly limit the scope ofthe claims herein. It is to be understood that the specific designationfor the electronic device 300 is provided as an example and is not to beconstrued as limiting the electronic device 300 to specific numbers,types, or arrangements of modules and/or components of the electronicdevice 300. A person skilled in the art will recognize many variations,alternatives, and modifications of embodiments of the presentdisclosure. For example, the electronic device 300 could be implementedas the electronic devices 202, and vice versa.

FIG. 4 is an illustration of an example game view 400 of a gamingsystem, in accordance with an embodiment of the present disclosure.Optionally, the gaming system includes a puzzle-based strategy gamerunning on an electronic device, for example, one or more of electronicdevices 202, 300, wherein the example game view 400 of the gaming systemis displayed within a display area of a display screen of the electronicdevice.

Optionally, in the puzzle-based strategy game, a user's purpose is toimpede progress of at least one opposing element toward at least onedefending element and/or to destroy the at least one opposing element.The at least one opposing element may, for example, be an element ownedby another user or a simulated opponent.

With reference to FIG. 4, the example game view 400 is divided into twoparts, namely a game area 402 and a puzzle area 404.

In the puzzle area 404, there are presented four or more user-selectablegraphical objects, depicted as graphical objects 450 in FIG. 4. For sakeof clarity and for illustration purposes, the graphical objects 450 aredesignated with A, B, C in FIG. 4

The user plays a puzzle game in the puzzle area 404 to earn points.Optionally, in this regard, a point counter is updated when at leastthree adjacent graphical objects match. For example, the at least threeadjacent graphical objects may match in a vertical column or ahorizontal row

Additionally, optionally, the at least three matching adjacent graphicalobjects are replaced. An example of steps related to playing a gamewithin the puzzle area 404 has been provided in conjunction with FIGS.5A-D.

In the game area 402, there are presented one or more defending elements406, depicted as defending elements H1, H2, H3 in FIG. 4, and one ormore opposing elements 408, depicted as opposing elements E1 and E3 inFIG. 4.

The defending elements 406 are positioned at an end of their respectivelanes, namely the defending element H1 in a lane 4102, the defendingelement H2 in a lane 4104, and the defending element H3 in a lane 4106.With reference to FIG. 4, the opposing elements E1 and E3 are positionedin a row above a line 4202 and a row between lines 4204 and 4206,respectively. The opposing elements E1 and E3 are positioned in thelanes 4102 and 4106, respectively, and advance toward the defendingelements H1 and H3, respectively. In an example, the opposing elementsE1 and E3 may advance forward by one row per move the user makes.

A task for the defending elements H1, H2 and H3 is to prevent theopposing elements E1 and E3 from crossing a line 4208. For example, inorder to impede the progress of the opposing element E3, in at least oneembodiment the defending element H3 may be depicted as shooting energy,one or more projectiles, or other impediments at the opposing elementE3, as shown with an arrow 430 in FIG. 4.

In order to be able to shoot the opposing elements 408, the defendingelements 406 are applied points from the aforementioned point counter. Adefending element to which the points are applied is determined based ona location or a type of matching adjacent graphical objects. In anexample, when a row or a column of graphical objects A disappear, itscorresponding points may be applied to the defending element H1.Likewise, when a row or a column of graphical objects B or C disappears,corresponding points may be applied to the defending elements H2 or H3,respectively.

Moreover, beneficially, in order to be able to impede the progress ofmultiple opposing elements in a same move, a timer functionality isemployed as will be described in conjunction with FIGS. 5A-D.

Moreover, the game view 400 includes boxes 4402 and 4404 for presentinggame-related information. The game-related information may, for example,include at least one of: a score of a user, a number of moves made bythe user, a game level at which the user is playing, and/or a total timeof game play.

FIG. 4 is merely an example, which should not unduly limit the scope ofthe claims herein. A person skilled in the art will recognize manyvariations, alternatives, and modifications of embodiments of thepresent disclosure.

FIGS. 5A, 5B, 5C and 5D collectively are an illustration of examplesteps related to playing a game within a puzzle area, in accordance withan embodiment of the present disclosure.

FIG. 5A is an illustration of a first step at which a user selects afirst graphical object 502 and moves the first graphical object 502towards a second graphical object 504. Consequently, spatial positionsof the first graphical object 502 and the second graphical object 504are exchanged, as shown in FIG. 5B.

As a result, three adjacent graphical objects match with each other, asindicated with a horizontal row 506 of the three matching adjacentgraphical objects. For sake of clarity, the horizontal row 506 isindicated with a box in FIG. 5B. The three matching adjacent graphicalobjects of the horizontal row 506 are then locked, so as to disable anyfurther changes in their spatial positions.

Meanwhile, a timer 520 is started, as shown in FIG. 5B. During a timeset by the timer 520, the user has an opportunity to make another movebefore the locked blocks of the horizontal row 506 disappear.

With reference to FIG. 5B, the user selects a third graphical object 508and move the third graphical object 508 towards a fourth graphicalobject 510, within the time set by the timer 520.

Consequently, spatial positions of the third graphical object 508 andthe fourth graphical object 510 are exchanged, as shown in FIG. 5C.

As a result, three adjacent graphical objects match with each other, asindicated with a vertical column 512 of the three matching adjacentgraphical objects. For sake of clarity, the vertical column 512 isindicated with a box in FIG. 5C. The three matching adjacent graphicalobjects of the vertical column 512 are then locked, so as to disable anyfurther changes in their spatial positions.

Optionally, the timer 520 is reset and the user has an opportunity tomake a yet another move.

Once the time set by the timer 520 is over, the horizontal row 506 andthe vertical column 512 of the matching adjacent graphical objectsdisappear, thereby leaving an empty space 514.

Subsequently, the horizontal row 506 and the vertical column 512 arereplaced. In at least one embodiment, the empty space 514 may be filledfirstly by dropping down graphical objects available above the emptyspace 514 and then by filling new graphical objects randomly. Otherreplacements may include sliding graphical objects upward, filling theempty space randomly, or any other suitable replacement method.

In this manner, the timer 520 provides an opportunity to the user tomake additional moves, and thus, collect points as a result of a set ofmoves. In an example, the user may be awarded three points for thehorizontal row 506 and three points for the vertical column 512. Inanother example, points may be calculated progressively, and the usermay be awarded three points for the horizontal row 506 and six pointsfor the vertical column 512. This potentially enables the user to chargeor upgrade more than one defending element and impede the progress ofmore than one corresponding opposing element in the same set of moves.This beneficially makes the game even more strategic and interesting tothe user.

FIGS. 5A-D are merely examples, which should not unduly limit the scopeof the claims herein. A person skilled in the art will recognize manyvariations, alternatives, and modifications of embodiments of thepresent disclosure.

FIGS. 6A and 6B collectively are an illustration of an example game view600, in accordance with an embodiment of the present disclosure. Thegame view 600 includes a game area 602 and a puzzle area 604.

In the game area 602, there are shown defending elements 606 andopposing elements 608. In the puzzle area 604, there are shownuser-selectable graphical objects 610.

In FIG. 6B, there is shown a timer 612 that is started when at leastthree adjacent graphical objects match in the puzzle area 604. As aresult of the at least three matching adjacent graphical objects, pointsare updated to a point counter.

For illustration purposes, there is next considered an example situationwhere the at least three matching adjacent graphical objects areassociated with a defending element 614. Thus, the points from the pointcounter are applied to the defending element 614. This charges a weapon616, which is then used by the defending element 614 to shoot energy atopposing elements 618, as shown in FIG. 6B.

Moreover, during a time set by the timer 612, the user has anopportunity to make additional moves to further upgrade or charge energyto the defending element 614 and other defending elements.

FIG. 7 is an illustration of another example game view 700, inaccordance with an embodiment of the present disclosure. In the gameview 700, there are presented various game levels, depicted as openedlevels 702 and unopened levels 704.

The user is allowed to select, from the opened levels 702, a game levelhe/she would like to play.

Optionally, a level is opened when the user has been able to destroyopposing elements in a previous level.

Moreover, the game view 700 shows a general health status 706 ofdefending elements 708.

FIG. 8 is an illustration of yet another example game view 800, inaccordance with an embodiment of the present disclosure. In the gameview 800, there is shown a score card 802 and a leader board 804.

The score card 802 provides a score of the user at a selected openedlevel. The leader board 804 provides scores of other users. The scoresmay, for example, be shared via a server.

FIGS. 6A-B, 7 and 8 are merely examples, which should not unduly limitthe scope of the claims herein. A person skilled in the art willrecognize many variations, alternatives, and modifications ofembodiments of the present disclosure.

FIG. 9 is an illustration of steps of a method of facilitatinginteractions with a graphical user interface, in accordance with anembodiment of the present disclosure. The method is depicted as acollection of steps in a logical flow diagram, which represents asequence of steps that can be implemented in hardware, software, or acombination thereof.

As described earlier, the graphical user interface is generated andrendered on a display area of an electronic device by executing asoftware product on a computing hardware of the electronic device.

At a step 902, four or more user-selectable graphical objects arepresented within the display area.

At a step 904, a selection of a first graphical object displayed at afirst spatial position within the display area is detected.

At a step 906, upon detecting a movement of the first graphical objecttowards a second graphical object displayed at a second spatial positionwithin the display area, the spatial positions of the first and secondgraphical objects are exchanged.

At a step 908, the exchange of the spatial positions of the first andsecond graphical objects is used to start a timer. In accordance withthe step 908, the timer enables a selection of at least a thirdgraphical object displayed at a third spatial position within thedisplay area, and upon detecting a movement of the third graphicalobject towards a fourth graphical object displayed at a fourth spatialposition within the display area, an exchange of the spatial positionsof the third and fourth graphical objects, during a time set by thetimer.

The steps 902 to 908 are only illustrative and other alternatives canalso be provided where one or more steps are added, one or more stepsare removed, or one or more steps are provided in a different sequencewithout departing from the scope of the claims herein.

Embodiments of the present disclosure are susceptible to being used forvarious purposes, including, though not limited to, enabling users tomake additional moves within a time set by a timer, thereby enabling theusers to earn more points in a same move.

Modifications to embodiments of the present disclosure described in theforegoing are possible without departing from the scope of the presentdisclosure as defined by the accompanying claims. Expressions such as“including”, “comprising”, “incorporating”, “consisting of”, “have”,“is” used to describe and claim the present disclosure are intended tobe construed in a non-exclusive manner, namely allowing for items,components or elements not explicitly described also to be present.Reference to the singular is also to be construed to relate to theplural.

We claim:
 1. An electronic device comprising: a display screen; a timer;and a computing hardware which is configured to execute a softwareproduct, wherein executing the software product results in generatingand rendering a graphical user interface on the display screen, thegraphical user interface being configured to facilitate userinteraction; the graphical user interface, when rendered, presenting agame view with four or more user-selectable graphical objects, whereinexecution of the software product by the computing hardware causes thecomputing hardware is configured to: detect a selection of a firstuser-selectable graphical object displayed at a first spatial positionon the graphical user interface; detect a movement of the selected firstuser-selectable graphical object along a path on the graphical userinterface towards a second user-selectable graphical object displayed ata second spatial position on the graphical user interface; and change aposition of the first user-selectable graphical object on the graphicaluser interface from the first spatial position to the second spatialposition and change a position of the second user-selectable graphicalobject on the graphical user interface from the second spatial positionto the first spatial position; trigger the timer to execute a count fora predetermined time period; detect, during the predetermined timeperiod: a selection of a third user-selectable graphical objectdisplayed at a third spatial position on the graphical user interfaceand a movement of the third user-selectable graphical object towards afourth user-selectable graphical object displayed at a fourth spatialposition on the graphical user interface; and change a position of thethird user-selectable graphical object from the third spatial positionto the fourth spatial position and change a position of the fourthuser-selectable graphical object from the fourth spatial position to thethird spatial position.
 2. The electronic device according to claim 1,wherein execution of the software product by the computing hardwarefurther causes the computing hardware is further configured to: detect amatch of at least three adjacent user-selectable graphical objects in avertical column or horizontal row on the graphical user interface andlock the matching adjacent user-selectable graphical objects fromfurther selection or movement; update a point counter when the at leastthree adjacent user-selectable graphical objects match and change a viewon the graphical user interface to replace the at least three matchingadjacent user-selectable graphical objects; apply points from the pointcounter to a first graphical element on the graphical user interface andchange a graphical representation of the first graphical element on thegraphical user interface responsive to the points
 3. The electronicdevice according to claim 2, wherein execution of the software productby the computing hardware further causes the computing hardware topresent a second graphical element on the graphical user interface thatis aligned along a path relative to the first graphical element; whereinan application of a certain number of points to the first graphicalelement changes the graphical representation of the first graphicalelement on the graphical user interface to include an elongate elementextending toward the second graphical element on the path.
 4. Theelectronic device of claim 3, wherein execution of the software productby the computing hardware further causes the computing hardware increasea length of the elongate member towards the second graphical element asthe number of points increases.
 5. The electronic device of claim 4,wherein execution of the software product by the computing hardwarefurther causes the computing hardware reposition the second graphicalelement farther from the first graphical element along the path as thelength of the elongate member increases.
 6. The electronic device ofclaim 1, wherein execution of the software product by the computinghardware further causes the computing hardware to replace the at leastthree matching adjacent graphical objects in the vertical column orhorizontal row on the graphical user interface with an empty space.
 7. Amethod of playing a game executed on a computing device including aprocessor configured to execute machine readable instructions, themethod comprising, upon execution of the machine readable instructionsby the processor: detect a selection of a first user-selectablegraphical object displayed at a first spatial position on a graphicaluser interface; detect a movement of the selected first user-selectablegraphical object along a path on the graphical user interface towards asecond user-selectable graphical object displayed at a second spatialposition on the graphical user interface; and change a position of thefirst user-selectable graphical object on the graphical user interfacefrom the first spatial position to the second spatial position andchange a position of the second user-selectable graphical object on thegraphical user interface from the second spatial position to the firstspatial position; trigger a timer of the computing device to execute acount for a predetermined time period; detect, during the predeterminedtime period: a selection of a third user-selectable graphical objectdisplayed at a third spatial position on the graphical user interfaceand a movement of the third user-selectable graphical object towards afourth user-selectable graphical object displayed at a fourth spatialposition on the graphical user interface; and change a position of thethird user-selectable graphical object from the third spatial positionto the fourth spatial position and change a position of the fourthuser-selectable graphical object from the fourth spatial position to thethird spatial position.
 8. The method according to claim 7, whereinexecution of the machine readable instructions by the processor furthercauses the processor to: detect column or horizontal row on thegraphical user interface and lock the matching adjacent user-selectablegraphical objects from further selection or movement; update a pointcounter when the at least three adjacent user-selectable graphicalobjects match and change a view on the graphical user interface toreplace the at least three matching adjacent user-selectable graphicalobjects; apply points from the point counter to a first graphicalelement on the graphical user interface and change a graphicalrepresentation of the first graphical element on the graphical userinterface responsive to the points
 9. The method according to claim 8,wherein execution of the machine readable instructions by the processorfurther causes the processor to present a second graphical element onthe graphical user interface that is aligned along a path relative tothe first graphical element; wherein an application of a certain numberof points to the first graphical element changes the graphicalrepresentation of the first graphical element on the graphical userinterface to include an elongate element extending toward the secondgraphical element on the path.
 10. The method according to claim 9,wherein execution of the machine readable instructions by the processorfurther causes the processor to increase a length of the elongate membertowards the second graphical element as the number of points increases.11. The method according to claim 10, wherein execution of the machinereadable instructions by the processor further causes the processor toreposition the second graphical element farther from the first graphicalelement along the path as the length of the elongate member increases.12. The method according to claim 11, wherein execution of the machinereadable instructions by the processor further causes the processor toreplace the at least three matching adjacent graphical objects in thevertical column or horizontal row on the graphical user interface withan empty space.
 13. A non-transitory machine-readable data storagemedium, comprising a software product recorded on the non-transitorymachine-readable data storage medium, the software product beingexecutable on a computing hardware of a computing device to: detect aselection of a first user-selectable graphical object displayed at afirst spatial position on the graphical user interface; detect amovement of the selected first user-selectable graphical object along apath on the graphical user interface towards a second user-selectablegraphical object displayed at a second spatial position on the graphicaluser interface; and change a position of the first user-selectablegraphical object on the graphical user interface from the first spatialposition to the second spatial position and change a position of thesecond user-selectable graphical object on the graphical user interfacefrom the second spatial position to the first spatial position; triggerthe timer to execute a count for a predetermined time period; detect,during the predetermined time period: a selection of a thirduser-selectable graphical object displayed at a third spatial positionon the graphical user interface and a movement of the thirduser-selectable graphical object towards a fourth user-selectablegraphical object displayed at a fourth spatial position on the graphicaluser interface; and change a position of the third user-selectablegraphical object from the third spatial position to the fourth spatialposition and change a position of the fourth user-selectable graphicalobject from the fourth spatial position to the third spatial position.14. The non-transitory machine-readable data storage medium according toclaim 13, wherein execution of the software product by the computinghardware further causes the computing hardware is further configured to:detect a match of at least three adjacent user-selectable graphicalobjects in a vertical column or horizontal row on the graphical userinterface and lock the matching adjacent user-selectable graphicalobjects from further selection or movement; update a point counter whenthe at least three adjacent user-selectable graphical objects match andchange a view on the graphical user interface to replace the at leastthree matching adjacent user-selectable graphical objects; apply pointsfrom the point counter to a first graphical element on the graphicaluser interface and change a graphical representation of the firstgraphical element on the graphical user interface responsive to thepoints
 15. The non-transitory machine-readable data storage mediumaccording to claim 14, wherein execution of the software product by thecomputing hardware further causes the computing hardware to present asecond graphical element on the graphical user interface that is alignedalong a path relative to the first graphical element; wherein anapplication of a certain number of points to the first graphical elementchanges the graphical representation of the first graphical element onthe graphical user interface to include an elongate element extendingtoward the second graphical element on the path.
 16. The non-transitorymachine-readable data storage medium of claim 15, wherein execution ofthe software product by the computing hardware further causes thecomputing hardware increase a length of the elongate member towards thesecond graphical element as the number of points increases.
 17. Thenon-transitory machine-readable data storage medium of claim 16, whereinexecution of the software product by the computing hardware furthercauses the computing hardware reposition the second graphical elementfarther from the first graphical element along the path as the length ofthe elongate member increases.
 18. The non-transitory machine-readabledata storage medium of claim 17, wherein execution of the softwareproduct by the computing hardware further causes the computing hardwareto replace the at least three matching adjacent graphical objects in thevertical column or horizontal row on the graphical user interface withan empty space.